﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SIGCBI.Entities;
using SIGCBI.Repository;
using Microsoft.Practices.Unity;

namespace SIGCBI.BusinessLogic
{
    public interface IHabitacionBL
    {
        List<HABITACION> GetAllFromHabitacion();
        List<HABITACION> GetAllFromHabitacionByNombre(string nombre);
        HABITACION GetOneHabitacionByNombre(string nombre);
        HABITACION GetFromHabitacionById(Int32 id);
        void AddHabitacion(HABITACION habitacion);
        void UpdateHabitacion(HABITACION habitacion);
        void RemoveHabitacion(Int32 id);
    }

    public class HabitacionBL : IHabitacionBL
    {
        [Dependency]
        public IHabitacionRepository habitacionRepository { get; set; }

        public List<HABITACION> GetAllFromHabitacion()
        {
            return habitacionRepository.GetAllFromHabitacion();
        }

        public List<HABITACION> GetAllFromHabitacionByNombre(string nombre)
        {
            return habitacionRepository.GetAllFromHabitacionByNombre(nombre);
        }

        public HABITACION GetOneHabitacionByNombre(string nombre)
        {
            return habitacionRepository.GetOneHabitacionByNombre(nombre);
        }

        public HABITACION GetFromHabitacionById(int id)
        {
            return habitacionRepository.GetFromHabitacionById(id);
        }

        public void AddHabitacion(HABITACION habitacion)
        {
            habitacionRepository.AddHabitacion(habitacion);
        }

        public void UpdateHabitacion(HABITACION habitacion)
        {
            habitacionRepository.UpdateHabitacion(habitacion);
        }

        public void RemoveHabitacion(int id)
        {
            habitacionRepository.RemoveHabitacion(id);
        }
    }
}
